<?php
	session_start();
// This will connect us to our database...
include("../../funciones.php");
$conexion = conectaDB();
// The ext grid script will send  a task field which will specify what it wants to do
$task = '';
if ( isset($_POST['task'])){
  $task = $_POST['task'];
}
switch($task){
	case "LISTING_CITAS_CREADAS":
		getList_citas($conexion);
        break;
	case "LISTING_AGENDA":
		getList_agenda($conexion);
        break;
	case "LISTING_SERVICIOS_CONTRATADOS":
		getList_servicioscontratados($conexion);
        break;
	case "LISTING_PERSONAL":
		getList_personal($conexion);
        break;
	case "LISTING_SERVICIOS":
		getList_servicios($conexion);
        break;
    case "LISTING":
        getList($conexion);
        break;
	case "LISTADO_PRODUCTO":
		obtenerListadoproducto($conexion);
        break;
	case "LISTADO_TIPO_MOVIMIENTO":
		obtenerListadotipo_movimiento($conexion);
        break;
	case "LISTADO_TIPO_PROVEEDOR":
		obtenerListadoproveedor($conexion);
        break;	
	case "UPDATE":
        updateRow($conexion);
        break;
    case "CREATE_CITA":
        createRow($conexion);
        break;
    case "DELETE_CITA":
        deleteRow($conexion);
        break;
    case "SEARCH":
        searchRows($conexion);
        break;
    case "COMBO_SEARCH":
        searchcomboRows($conexion);
        break;
    default:
        echo "{failure:true}";
        break;
}
	function deleteRow($conexion)
	{
		if(!ISSET($_POST['Id_cita'])){echo 1;return;}
		$id_cita =	$_POST['Id_cita'];
		
		$query="SELECT ps.Id_servicio FROM pago_servicio ps INNER JOIN  cita_cs cc ON ( ps.cns_cs=cc.cns_cs AND ps.Id_servicio=cc.Id_servicio AND Id_cita=".$id_cita.")";
		testerarchivo("checar.txt",$query);
		$result = mysql_query($query,$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		$nbrows = mysql_num_rows($result);
		if($nbrows==0)
		{
			$result = mysql_query("BEGIN",$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);echo 2;return;}
			
			$query="DELETE FROM cita WHERE Id_cita=".$id_cita;
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);echo 2;return;}
		
			$query="DELETE FROM cita_cs WHERE Id_cita=".$id_cita;
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);echo 2;return;}
		
			$query="DELETE FROM cita_equipo WHERE Id_cita=".$id_cita;
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);echo 2;return;}
			
			$result = mysql_query("COMMIT",$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);echo 2;return;}
			echo 4;
		}
		else
		{
			echo 3;return;
		}
	}
	
	function getList_servicioscontratados($conexion)
	{
		$Id_cliente =	$_POST['Id_cliente'];
		if($Id_cliente!='')
		{
			$query = "	SELECT 	s.Id_servicio,
								cs.cns_cs,
								s.nombre,
								cs.fecha
						FROM contratacion_servicio cs INNER JOIN servicio s ON (cs.Id_cliente = $Id_cliente AND cs.Id_servicio=s.Id_servicio AND (Id_estatus=3 OR Id_estatus=6))
						ORDER BY s.Id_servicio";
			
			$result = mysql_query($query,$conexion);
			$nbrows = mysql_num_rows($result);		
						
			if($nbrows>0){
				while($rec = mysql_fetch_array($result)){
					$arr[] = $rec;
				}
				$jsonresult = JEncode($arr);
				echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
			} else {
				echo '({"total":"0", "results":""})';
			}
		}
	}
	
	function getList_citas($conexion)
	{
		if(!ISSET($_POST['Id_cliente'])){echo '({"total":"0", "results":""})';return;};
		$id_cliente =	$_POST['Id_cliente'];
		if($id_cliente!='')
		{
			$query = "	
						SELECT 	tabla.Id_cita,
								tabla.fecha,
								tabla.hora_inicio,
								tabla.hora_fin,
								tabla.nombre,
								tabla2.Id_equipo,
								tabla2.nombreequipo,
								tabla.Id_personal
							FROM
							(	SELECT 	c.Id_cita,
										c.fecha,
										c.hora_inicio,
										c.hora_fin,
										p.nombre,
										p.Id_personal
								FROM	cita c INNER JOIN personal p INNER JOIN contratacion_servicio cs INNER JOIN cita_cs ccs
									ON( ccs.cns_cs=cs.cns_cs AND ccs.Id_cita=c.Id_cita AND 
										ccs.Id_servicio=cs.Id_servicio AND cs.Id_cliente = $id_cliente AND 
										c.Id_personal=p.Id_personal)) as tabla
						LEFT JOIN 
							(	SELECT ee.Id_equipo,ee.nombre as nombreequipo,ce.Id_cita FROM cita_equipo ce INNER JOIN equipo ee
								ON (ee.Id_equipo=ce.Id_equipo )) as tabla2
						ON (tabla.Id_cita=tabla2.Id_cita);";
						
			$result = mysql_query($query,$conexion);
			$nbrows = mysql_num_rows($result);		
		
			
		
			if($nbrows>0){
				while($rec = mysql_fetch_array($result)){
					$arr[] = $rec;
				}
				$jsonresult = JEncode($arr);
				echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
			} else {
				echo '({"total":"0", "results":""})';
			}
		}
	}
	
	function getList_agenda($conexion)
	{
		if(!(ISSET($_POST['id_personal']) || ISSET($_POST['id_personal']))){echo '({"total":"0", "results":""})';return;}
		$id_personal=	$_POST['id_personal'];
		$fecha		=	$_POST['fecha'];
		if($fecha!="")
		{
			$query = "	SELECT 	DISTINCT c.Id_cita,
								c.hora_inicio,
								c.hora_fin,
								c.fecha,
								CONCAT(cl.nombre,' ',cl.ap_paterno,' ',cl.ap_materno) as nombre_cliente
						FROM cita c INNER JOIN cita_cs cc INNER JOIN contratacion_servicio cs INNER JOIN cliente cl
						ON ( 	c.Id_cita=cc.Id_cita AND cc.cns_cs=cs.cns_cs AND cc.Id_servicio=cs.Id_servicio AND 
								cs.Id_cliente=cl.Id_cliente AND c.Id_personal=$id_personal AND c.fecha='$fecha' )
						ORDER BY c.Id_cita";
			$result = mysql_query($query,$conexion);
			$nbrows = mysql_num_rows($result);
		
  
			if($nbrows>0){
				while($rec = mysql_fetch_array($result)){
					$arr[] = $rec;
				}
				$jsonresult = JEncode($arr);
				echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
			} else {
				echo '({"total":"0", "results":""})';
			}
		}
	}/*
	SELECT 	cs.Id_cliente,CONCAT(cl.nombre,' ',cl.ap_paterno,' ',cl.ap_materno) as nombre							
					FROM contratacion_servicio cs INNER JOIN cliente cl ON(cs.Id_cliente=cl.Id_cliente) GROUP BY cs.Id_cliente;
		*/			
	function getList_servicios($conexion) 
	{
		$query = "	SELECT 	cs.Id_cliente,CONCAT(cl.nombre,' ',cl.ap_paterno,' ',cl.ap_materno) as nombre							
					FROM contratacion_servicio cs INNER JOIN cliente cl ON(cs.Id_cliente=cl.Id_cliente " ;
					
		if(isset($_POST['nombre'])){$nombre=$_POST['nombre'];$query_=" AND (nombre LIKE '%".$nombre."%'";
															$query_.=" OR ap_paterno LIKE '%".$nombre."%'";
															$query_.=" OR ap_materno LIKE '%".$nombre."%')";$query.=$query_;}
		$query.= ") GROUP BY cs.Id_cliente";
		//echo $query;
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}
	
	
	function getList_personal($conexion) 
	{
		$query = "	SELECT Id_personal 	,
						nombre ,
						direccion ,
						telefono ,
						email,
						edad 
					FROM personal";
		if(isset($_POST['nombre'])){$nombre=$_POST['nombre'];$query_=" WHERE nombre LIKE '%".$nombre."%'";$query.=$query_;}
		$query.=" order by Id_personal";
		
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		/*$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
		$limit = $query." LIMIT ".$start.",".$end;    
		$result = mysql_query($limit);  */
  
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}
	
	function obtenerListadoproveedor($conexion)
	{
		$query = "	SELECT 	Id_equipo,
							nombre
					FROM equipo order by Id_equipo";
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}	
	
	function obtenerListadotipo_movimiento($conexion)
	{
		$query = "	SELECT 	Id_tm,
							nombre,
							descripcion,
							salida
					FROM tipo_movimiento 
					WHERE Id_estatus=3 order by Id_tm";
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);	
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				if($rec["salida"]==0)$rec["nombre"]="Entrada por ".$rec["nombre"];
				else $rec["nombre"]="Salida por ".$rec["nombre"];
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}	

	function obtenerListadoproducto($conexion)
	{
		$query = "	SELECT 	Id_producto,
							nombre,
							descripcion,
							codigo_barras,
							existencia
					FROM producto order by Id_producto";
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}
	
	function updateRow($conexion)
	{
		$id_producto = 		$_POST['id_producto'];
		$nombre = 			$_POST['txt_nombre'];
		$descripcion = 		$_POST['txt_descripcion'];
		$id_familia = 		$_POST['id_familia'];
		$codigobarras =		$_POST['txt_codigobarras'];
		
		$result = mysql_query("BEGIN",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
			/*Insercion sencilla*/
			$query = "	UPDATE 	producto SET 	nombre='$nombre',
												descripcion='$descripcion',
												Id_familia=$id_familia,
												codigo_barras='$codigobarras'
						WHERE 	Id_producto=$id_producto";
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
		$result = mysql_query("COMMIT",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		echo 1;	
	}
	
	function getList($conexion) 
	{
		if($_POST['id_producto']!='')
		{
			$id_producto = 		$_POST['id_producto'];
			$query = "call	reporte_ficha_almacen($id_producto)";
			$result = mysql_query($query);
			$query = "select * from ficha_almacen ORDER BY cns";
			$result = mysql_query($query);
			$nbrows = mysql_num_rows($result);
			$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
			$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
			$limit = $query." LIMIT ".$start.",".$end;    
			$result = mysql_query($limit);  
  
			if($nbrows>0){
				while($rec = mysql_fetch_array($result)){
					$arr[] = $rec;
				}
				$jsonresult = JEncode($arr);
				echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
			} else {
				echo '({"total":"0", "results":""})';
			}
		}
		else
		{echo '({"total":"0", "results":""})';}		
	}

	
	function createRow($conexion)
	{
		$id_cita = 				$_POST['Id_cita'];
		$id_personal = 			$_POST['Id_personal'];
		$id_servicio = 			$_POST['Id_servicio'];
		$cns_cs = 				$_POST['cns_cs'];
		$fecha = 				$_POST['fecha'];
		$hora_inicia = 			$_POST['hora_inicia'];
		$hora_fin = 			$_POST['hora_fin'];
		$id_equipo = 			$_POST['Id_equipo'];
				
		if (version_compare(PHP_VERSION,"5.2","<"))
		{
			require_once("../../JSON.php"); //if php<5.2 need JSON class
			$json = new Services_JSON($conexion);
			$Id_servicio_arraypress = $json->decode(stripslashes($id_servicio));
			$cns_cs_arraypress = $json->decode(stripslashes($cns_cs));
		}
		else
		{
			$Id_servicio_arraypress = json_decode(stripslashes($id_servicio));
			$cns_cs_arraypress = json_decode(stripslashes($cns_cs));
		}
		/******			*****/
		if(sizeof($Id_servicio_arraypress)<1 && $id_cita==-1)
		{
			echo 0;
			return;
		}
		if($id_equipo==''){$id_equipo=-1;}
		$result = mysql_query("BEGIN",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt","BEGIN");return;}
		
			/*Insercion sencilla*/
			$result = mysql_query("SET @y=".$id_cita,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt","SET @y=".$id_cita);return;}
			
			
			$query = "call entrada_cita($id_personal,'$fecha','$hora_inicia','$hora_fin',$id_equipo,@y)";
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
			
			if($id_cita==-1)
			{
				$query = "SELECT @y as id_cita;";
				$result=mysql_query($query,$conexion);
				if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
				$rec = mysql_fetch_array($result);
				$id_cita=$rec['id_cita'];
			
				if($id_cita==-1){mysql_query("ROLLBACK",$conexion);echo 2;exit(0);}
			
				if(sizeof($Id_servicio_arraypress)==1 && $result!=NULL)
				{
					$query = "CALL insertar_cita($id_cita,$cns_cs_arraypress[0],$Id_servicio_arraypress[0],@y);";
					$result = mysql_query($query,$conexion);
					if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
					$result = mysql_query("SELECT @y as resultado",$conexion);
					$rec = mysql_fetch_array($result);
					if($rec['resultado']!=1)
					{
						$query = "ROLLBACK;";
						$result=mysql_query($query,$conexion);
						echo 3;exit(0);
					}					
				}
				else
				{
					for($i = 0; $i < sizeof($Id_servicio_arraypress) && $result!=NULL; $i++)
					{
						$query = "CALL insertar_cita($id_cita,$cns_cs_arraypress[$i],$Id_servicio_arraypress[$i],@y);";
						$result = mysql_query($query,$conexion);
						if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
						$result = mysql_query("SELECT @y as resultado",$conexion);
						$rec = mysql_fetch_array($result);
						if($rec['resultado']!=1)
						{
							$query = "ROLLBACK;";
							$result=mysql_query($query,$conexion);
							echo 3;exit(0);
						}
					}
				}
			}
			$result = mysql_query("COMMIT",$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
			echo 1;
	}
	
	// Encodes a SQL array into a JSON formated string
	function JEncode($arr)
	{
		if (version_compare(PHP_VERSION,"5.2","<"))
		{    
			require_once("../../JSON.php"); //if php<5.2 need JSON class
			$json = new Services_JSON($conexion);//instantiate new json object
			$data=$json->encode($arr);  //encode the data in json format
		} else
		{
			$data = json_encode($arr);  //encode the data in json format
		}
		return $data;
	}

	// Encodes a YYYY-MM-DD into a MM-DD-YYYY string
	function codeDate ($date) 
	{
		$tab = explode ("-", $date);
		$r = $tab[1]."/".$tab[2]."/".$tab[0];
		return $r;
	}
	
	function testeo($resultado,$conn)
	{
		/*si suscede un error*/
		if($resultado==NULL)
		{
			$query = "ROLLBACK;";
			$result=mysql_query($query,$conn);
			return 1;
		}
		return 0;
	}
	
	function testerarchivo($nombrefile,$cadena)
	{
		$referencia=fopen($nombrefile,"w");		
		fwrite($referencia,$cadena);
		fclose($referencia);
	}
?> 